软件质量问题越来越多地引起人们的注意,有关软件质量的纠纷也常见诸许多媒体,甚至有软件责任者被追究行政责任和刑事责任的报道,关于“千年虫”的法律问题更是最近媒体关注的焦点。但是在我国,究竟如何依法确定软件质量的责任以及软件质量责任的构成要件、责任形式等问题皆鲜见论及,本文试就以上问题作初步的讨论。
确定某项法律责任必须有相应的法律为依据,在我国如何确定软件的质量责任没有直接、系统的法律规定,对软件质量责任的确定没有统一的认识,实务中造成了各地司法机关司法标准的不统一,客观上影响了社会主义法制的统一性和严肃性。我认为,确定软件质量责任的法律依据至少应包括:
(一)《中华人民共和国产品质量法》(以下简称《质量法》)
我国《质量法》规定“产品是指经过加工、制作,用于销售的产品。”我认为,软件作为一种商品化的智力成果,虽然首先作为作品受到著作权法的保护,但一旦该智力成果作为交易标的进入市场,它就应当同时受其他法律规范包括《质量法》的调整。因为,软件完全符合《质量法》对“产品”的定义,同时又不属于该法明文排除适用的情形(第2条第3款、第54条)。软件应当符合《质量法》对产品的安全性、功能性、营销性等方面的要求,否则就应当承担该法规定的有关法律责任。
(二)《中华人民共和国技术合同法》(以下简称《技术合同法》)
软件属于技术产品,关于软件纠纷的处理应当适用《技术合同法》。
(三)合同
根据不同情形,软件纠纷的处理可能分别适用软件开发合同、软件购买合同等合同。
1、软件开发合同
软件是软件使用人委托软件开发者开发的,则双方的权利义务的确定应根据他们之间的软件开发合同的规定处理。合同没有规定或规定不清的,则应依有关法律来处理。
2、软件购买合同
绝大多数的软件是当事人购买的,而软件购买通常是以售货发票的形式订立的合同,其中并无权利义务的约定。我认为,通过购买方式获得的软件其当事人间的权利义务应当主要根据软件中所附的《使用许可协议》和Readme等说明文件。当然,对于《使用许可协议》中的免责条款要根据法律严格审查以确定其是否具有法律效力。如果软件中无上述合同性文件,则依有关法律的规定处理。
(四)《中华人民共和国消费者权益保护法》
在使用人具备法定的消费者身份时,软件质量责任同时适用《中华人民共和国消费者权益保护法》的规定,当事人可根据其利益选择法律适用。
软件质量责任的构成,在民事责任应适用严格责任,只要软件存在缺陷并因缺陷引起软件使用人的人身或财产损失,就应承担责任。在行政责任和刑事责任,应适用过错责任,即除前述二个要件外并要求软件提供人主观上有过错,包括故意和过失。
(一)软件存在缺陷
《质量法》上的“缺陷”是指“产品存在危及人身、他人财产安全的不合理危险。”比如说软件提供人在软件中设置“逻辑炸弹”,可能会危及生产安全的情形。认定软件存在缺陷除依《质量法》的规定予以考量外,在当事人订立有合同的情形,软件与有关合同约定不一致的就应认定为有缺陷。
(二)缺陷造成了损失
软件提供人承担软件质量责任还需要该软件的缺陷造成了损失,即一方面要有损失,另一方面损失与缺陷之间存在因果关系。
对于使用人已经发现缺陷存在并且该缺陷可能会造成损失的,软件提供人应当提供技术支持排除缺陷,否则使用人可另请他人修改软件,其费用由软件提供人承担。
(三)过错
在要追究软件提供人的行政责任和刑事责任的情形,根据我国有关法律的精神,软件使用人必须证明软件提供者主观上必须有故意(如设置逻辑炸弹)或过失(如软件未经充分全面的调试)。
根据各案的具体情况,软件提供人分别或同时承担的责任形式有:
(一)民事责任
主要有修改、重作、退货、赔偿损失等。在消费者权益案件并可适用惩罚性赔偿。
(二)行政责任
包括我国行政法规规定的各种行政处分。
(三)刑事责任
软件提供人故意提供有严重缺陷的软件的,根据具体情形依照刑法有关条款处理,如诈骗、生产、销售伪劣商品罪等。